// components/mine_set/index.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    index:{
      type:Number,
      value:0
    },
    // 用户数据
    userinfo:{
      type:Object,
      value:{},
      observer(newVal) {
        // 当父组件的userInfo变化时，同步更新子组件的本地数据
        this.setData({
          localUserInfo: { ...newVal }
        });
      }
    }


  },

  /**
   * 组件的初始数据
   */
  data: {
    isshow:false,   //昵称弹窗的显示与否
    phone_isshow:false,  //手机号弹窗的显示与否
    name_data:'',
    phone_data:'',
    localUserInfo: {},    //用于存储本地可修改的副本
    date:''   //初始选择时间
  },

  /**
   * 组件的方法列表
   */
  methods: {
    onClose() {
      this.triggerEvent('updateUserInfo', this.data.localUserInfo);   //上传用户所有数据
      this.triggerEvent('close'); // 触发父组件的close事件
    },
    // 修改头像的逻辑
    get_imagepath(e){
      // 拿到头像路径
      const data = e.detail
      // 进行头像数据的修改
      this.setData({'localUserInfo.avatar':data})
    },
    // 打开和关闭 修改名字的弹窗
    name_open() {
      this.setData({ isshow:true })
    },
    name_close() {
      this.setData({ isshow: false });
    },
    // 昵称数据
    name_data(e) {
      const data = e.detail.value
      this.setData({name_data:data})
    },
    name_change(){
      // 判断是否修改了名字
      if(this.data.name_data != '')
      {
        this.setData({
          'localUserInfo.nickname':this.data.name_data
        })
        console.log(this.data.localUserInfo)
      }
      this.setData({ isshow: false });
    },
    // 以下为修改生日
    // 选择日期后更新本地数据
    bindDateChange(e){
      // 更新本地数据
      this.setData({
        'localUserInfo.birthday':e.detail.value
      })
    },
    // 以下为修改性别
    // 选择性别后更新本地数据
    bindGenderChange(e){
      // 更新本地数据
      const genders = ['男', '女', '保密'];
      this.setData({
        'localUserInfo.gender':genders[e.detail.value]
      })
    },

    // 以下为修改地区
    bindRegionChange(e){
      // 更新本地数据
      this.setData({
        'localUserInfo.region':e.detail.value
      })
    },

    // 以下为修改手机号
    // 打开和关闭 修改名字的弹窗
    phone_open(){
      this.setData({phone_isshow:true})
    },
    phone_close(){
      this.setData({phone_isshow:false})
    },
    // 手机号数据
    phone_data(e){
      const data = e.detail.value
      this.setData({phone_data:data})
    },
    // 
    phone_change(){
      // 判断手机号是否存在
      if(this.data.phone_data != ''){
        this.setData({
          'localUserInfo.phone':this.data.phone_data
        })
      }
      this.setData({ phone_isshow: false });
    },
  },
  lifetimes:{
    // 初始化时将properties的值复制到data中
    attached(){
      this.setData({localUserInfo:{...this.properties.userinfo}})
    }
  }
})